package com.easylinkin.linkappapi.config.vo;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.easylinkin.linkappapi.config.entity.SysDictItem;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * @author chenyin
 * @date 2024/02/18
 */
@Getter
@Setter
@ToString
public class SysDictItemQueryRequestVo  {

    /**
     * 字典id
     */
    private Long dictId;
    /**
     * 字典项文本
     */
    private String itemText;
    /**
     * 字典项值
     */
    private String itemValue;
    /**
     * 描述
     */
    private String description;
    /**
     * 排序
     */
    private Integer sortOrder;
    /**
     * 状态（1启用 0不启用）
     */
    private Integer status;
    
   
    public Wrapper<SysDictItem> getQueryWrapper() {
        LambdaQueryWrapper<SysDictItem> qw = Wrappers.lambdaQuery();
        qw.eq(SysDictItem::getDictId,dictId)
                .like(StringUtils.isNotEmpty(itemText), SysDictItem::getItemText,itemText)
                .eq(status!=null, SysDictItem::getStatus,status)
                .orderByAsc(SysDictItem::getSortOrder).orderByDesc(SysDictItem::getCreateTime);
        return qw;
    }

    public SysDictItem toEntity() {
        SysDictItem sysDictItem = new SysDictItem();
        sysDictItem.setDictId(dictId);
        sysDictItem.setItemText(itemText);
        sysDictItem.setItemValue(itemValue);
        sysDictItem.setDescription(description);
        sysDictItem.setSortOrder(sortOrder);
        sysDictItem.setStatus(status);
        return sysDictItem;
    }

}